Tool Loop Agent
constructor(model: LanguageModel, instructions: String, tools: ToolSet<TContext>, activeTools: List<String>? = null, output: Output<TOutput>? = null, stopWhen: StopCondition = stepCountIs(20), prepareCall: suspend PrepareCallScope<TContext>.() -> AgentSettings<TContext>? = null, prepareStep: suspend PrepareStepScope<TContext>.() -> StepSettings<TContext>? = null, callOptionsSchema: KSerializer<TContext>? = null, temperature: Float? = null, topP: Float? = null, topK: Int? = null, maxOutputTokens: Int? = null, stopSequences: List<String>? = null, seed: Int? = null, presencePenalty: Float? = null, frequencyPenalty: Float? = null, responseFormat: ResponseFormat = ResponseFormat.Text, maxParallelToolCalls: Int = Int.MAX_VALUE, onStart: suspend OnStartEvent.() -> Unit? = null, onStepStart: suspend OnStepStartEvent.() -> Unit? = null, onStepFinish: suspend OnStepFinishEvent.() -> Unit? = null, onFinish: suspend OnFinishEvent.() -> Unit? = null, onError: suspend OnErrorEvent.() -> Unit? = null, onChunk: suspend OnChunkEvent.() -> Unit? = null, onAbort: suspend OnAbortEvent.() -> Unit? = null, experimental_onToolCallStart: suspend OnToolCallStartEvent.() -> Unit? = null, experimental_onToolCallFinish: suspend OnToolCallFinishEvent.() -> Unit? = null, experimental_repairToolCall: ToolCallRepairFunction<TContext>? = null, experimental_toolApprovalSecret: ByteArray? = null, telemetry: TelemetrySettings? = null, logger: Logger = NoopLogger, engineContext: CoroutineContext = Dispatchers.Default)